<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>如何用canvas绘制层次关系图</title>
  <style>
    canvas{
      width: 256px;
      height: 256px;
    }
  </style>
</head>
<body>
  <canvas width="512" height="512"></canvas>
  <script type="text/javascript">
    const canvas  = document.querySelector('canvas');
    const context = canvas.getContext('2d');
    const rectSize = [ 100, 100 ];
    context.fillStyle = 'red';
    context.beginPath();

    context.rect(412, 412, ...rectSize);
    context.fill();
    // 法一: 移动元素
    // context.rect(
    //   0.5 * (canvas.width - rectSize[0]),
    //   0.5 * (canvas.height - rectSize[1]),
    //   ...rectSize
    // );

    // 法二: 移动画布(画之前暂存状态, 画完之后恢复状态)
    // context.save();
    // context.translate(
    //   -0.5 * rectSize[0],
    //   -0.5 * rectSize[1]
    // );
    // context.rect(
    //   0.5 * canvas.width,
    //   0.5 * canvas.height,
    //   ...rectSize
    // );
    // context.fill();
    // context.restore();
  </script>
</body>
</html>